home *** CD-ROM | disk | FTP | other *** search
- -- Part of SmallEiffel -- Read DISCLAIMER file -- Copyright (C)
- -- Dominique COLNET and Suzanne COLLIN -- colnet@loria.fr
- --
- class TEST_STRING1
-
- creation {ANY}
- make
-
- feature {ANY}
-
- make is
- local
- s, s2: STRING;
- i: INTEGER;
- words: ARRAY[STRING];
- do
- !!s.blank(0); ------------------------------------------------
- is_true(s.count = 0);
- s.blank(1);
- is_true(s.count = 1);
- is_true(s.item(1) = ' ');
- s.put('a',1);
- is_true(s.count = 1);
- is_true(s.item(1) = 'a');
-
-
- !!s.blank(4); ------------------------------------------------
- is_true(s.count = 4);
- from
- i := 1;
- until
- i > s.count
- loop
- is_true(s.item(i) = ' ');
- i := i + 1;
- end;
-
- is_true(equal("","")); --------------------------------------
- is_true(not equal(" ",""));
- !!s.blank(3);
- s.put('a',2);
- is_true(equal(" a ",s));
- is_true(equal(s," a "));
-
- s := ""; ----------------------------------------------------
- is_true(s.count = 0);
- s.extend('x');
- is_true(s.count = 1);
- is_true(s.item(1) = 'x');
-
- s := "1"; ---------------------------------------------------
- is_true(s.count = 1);
- is_true(s.item(1) = '1');
- s.extend('x');
- is_true(s.count = 2);
- is_true(s.item(1) = '1');
- is_true(s.item(2) = 'x');
- is_true(equal("1x",s));
-
- !!s.blank(3); ------------------------------------------------
- s.put('h',2);
- is_true(equal(" h ",s));
- s.put(' ',2);
- is_true(not equal(" h ",s));
- is_true(equal(s," "));
- s.blank(3);
- is_true(equal(s," "));
-
- !!s.copy("ab"); --------------------------------------------
- is_true(s.count = 2);
- is_true(equal("ab",s));
- s.copy("cdef");
- is_true(equal("cdef",s));
- s.copy("a");
- is_true(equal("a",s));
-
- s := ""; ----------------------------------------------------
- is_true(s.count = 0);
- !!s.copy(s);
- is_true(s.count = 0);
- s.extend('a');
- is_true(s.count = 1);
- is_true(s.item(1) = 'a');
-
- s2 := "a"; --------------------------------------------------
- s := clone(s2);
- is_true(s.count = 1);
- is_true(s2.count = 1);
- is_true(s.item(1) = 'a');
- s2.put('b',1);
- is_true(s2.item(1) = 'b');
- is_true(s.item(1) = 'a');
-
- s := "abc"; -------------------------------------------------
- s2 := clone(s);
- is_true(equal(s,s2));
- s.put('x',2);
- is_true(not equal(s,s2));
- is_true(equal(Void,clone(Void))); ---------------------------
-
- !!s.blank(0); ------------------------------------------------
- is_true(equal("",s));
- !!s.blank(2);
- is_true(equal(" ",s));
- s := "aaa";
- s.blank(2);
- is_true(equal(" ",s));
-
- s := ""; ----------------------------------------------------
- is_true(equal(clone(""),s));
- !!s.blank(2);
- is_true(equal(" ",s));
- s := "aaa";
- s.blank(2);
- is_true(equal(" ",s));
- is_true(equal("abc","abc"));
-
- !!s.copy("kiki"); ------------------------------------------
- is_true(equal(s,"kiki"));
- s.copy(s);
- -- std_output.put_string("Coucou %N");
- is_true(equal(s,"kiki"));
- s.copy("3");
- is_true(equal(s,"3"));
-
- !!s.copy("kiki"); ------------------------------------------
- s.clear;
- is_true(equal(s,""));
-
- s := "123456789";
- s.shrink(1,7);
- is_true(("1234567").is_equal(s));
- s.shrink(2,7);
- is_true(("234567").is_equal(s));
-
- is_true((" +234 ").to_integer = 234);
- is_true((" - 67").to_integer = -67);
-
- is_true(("+ 234.").to_real = 234.0);
- is_true(("+1234").to_real = 1234.0);
- is_true((" +234.22").to_real <= 234.221);
- is_true((" +234.22").to_real >= 234.219);
- is_true((" - 67.0 %N").to_real = -67);
-
- is_true((".5").to_real = 0.5);
-
- is_true(str1.is_equal(str2));
- is_true(str1 /= str2);
-
- !!s.make(10);
- is_true(s.count = 0);
- is_true(s.capacity <= 10);
-
- words := ("un machin").split;
- is_true(words.count = 2);
- is_true(equal(words,<<"un","machin">>));
-
- words := (" un machin ").split;
- is_true(equal(words,<<"un","machin">>));
-
- is_true((" ").split = Void);
-
- is_true(("%/32/").first = ' ');
- is_true(("%/122/").first = 'z');
- is_true(("%/123/").first = '{');
- is_true(("%/207/").first = '%/207/');
- is_true(("%/255/").first = '%/255/');
- is_true(("%/206/").first = '%/206/');
- is_true(("%/92/").first = '%/92/');
- is_true(("%/92/").first = '\');
- is_true(("%/92/").first = '%H');
- is_true(("\").first = '%H');
- end;
-
- str1, str2: STRING is "Ouupps ...";
-
- is_true(b: BOOLEAN) is
- do
- cpt := cpt + 1;
- if not b then
- std_output.put_string("TEST_STRING1: ERROR Test # ");
- std_output.put_integer(cpt);
- std_output.put_string("%N");
- else
- --std_output.put_string("Yes %N");
- end;
- end;
-
- cpt: INTEGER;
-
- end -- TEST_STRING1
-